Low-power static random access memory

ABSTRACT

A low-power static random access memory (SRAM) is set forth which includes a cache memory function without requiring a special bit cell, and which realizes robust read and write operation without any write assist circuit at 16 nm or below FinFET technology. The SRAM comprises a half-Vdd precharge 6 T SRAM cell array for robust operation at low supply voltage at 16 nm or below, and with cacheable dynamic flip-flop based differential amplifier referred to as a main amplifier (MA). Prior art 6 T SRAM cell arrays use Vdd or Vdd-Vth precharge schemes, and have separate read and write amplifiers. The SRAM set forth uses one main amplifier only, which is connected to the bit line (BL) through a transmission gate. The main amplifiers functions as a read amplifier, write amplifier, and a cache memory.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is related to and claims priority to U.S. Patent Application 63/213,393, filed Jun. 22, 2021, the contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The present invention is directed to static random access memory (hereinafter SRAM), and more particularly to SRAM operable in multiple different voltage domains.

2. Description of the Related Art

There has been an ever-increasing need to reduce power dissipation in traditional SRAMs (e.g. Vdd supply voltage of 0.5 V or less), wherein a plurality of memory cells (hereinafter MCs) along a selected word-line (hereinafter WL) are simultaneously read or written, while the rest, referred to as half-select MCs, are virtually read or written. Recently, this need has become more pressing with the introduction of emerging SRAMs used in AI-chips, wherein all of the MCs are simultaneously read or written for massively parallel operations between processor element blocks and the SRAMs.

Indeed, semiconductor foundries provide 0.5V as the core voltage for 16 nm FinFET technology. However, the SRAM operation voltage is higher than the core voltage, (e.g. 0.8V for 16 nm FinFET technology) giving rise to the use of write assist circuitry (see Y. H. Chen et al., “A 16 nm 128 Mb SRAM in High-Metal-Gate FinFET Technology With Write-Assist Circuitry for Low-VMIN Applications,” IEEE Journal Of Solid-State Circuits, Vol. 50, No. 1, January 2015).

Additional prior art relevant to this disclosure includes: K. Ishibashi and K. Osada editors, “Low Power and Reliable SRAM Memory Cell and Array Design,” Springer Series in Advanced Microelectronics 3, April 2011, and GeeksforGeeks; Cache Memory in Computer Organization.

SUMMARY OF THE INVENTION

According to aspects of this specification, a method and apparatus are set forth for operating SRAM under two different voltage domains, such as 0.5V and 0.8V for 16 nm FinFET technology, without any requirement for special circuitry such as write assist circuitry, which requires a negative voltage for a zero data write.

It is an aspect of the present invention to provide a static random-access memory comprising at least one six-transistor memory cell arranged between a first bitline, a second bitline and a word line; a bitline precharge circuit for precharging the first bitline and second bitline to a voltage of Vdd/2 prior to the at least one six-transistor memory cell receiving a word line signal; a main amplifier for receiving signals on data lines din and /din in a first voltage domain via a gate WEi; and a main amplifier precharge circuit for precharging the main amplifier in response to a signal /PEMA such that the main amplifier amplifies signals in the first voltage domain to a second domain.

The above aspects can be attained by a circuit for generating a half Vdd voltage from a main on-chip supply voltage Vdd/Vss comprising series connected transistors M1 and M2 in parallel with series connected transistors M3 and M4, connected between Vdd and Vss, with the half Vdd voltage output from a node connecting transistors M1, M2, M3 and M4, wherein transistors M1 and M3 function as a self-biased inverter and transistors M2 and M4 function as current sensing transistors.

These together with other aspects and advantages which will be subsequently apparent, reside in the details of construction and operation as more fully hereinafter described and claimed, reference being had to the accompanying drawings forming a part hereof, wherein like numerals refer to like parts throughout.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 a shows a SRAM cell array according to the prior art.

FIG. 1 b shows column precharge multiplexer and sense/write amplifiers of the prior art SRAM cell array depicted in FIG. 1 a.

FIGS. 2 a and 2 b show embodiments of circuits for writing to an MC without a level shifter.

FIG. 2 c shows an exemplary precharge circuit for the circuits of FIGS. 2 a and 2 b.

FIG. 2 d is a timing diagram for the signals for the circuits in FIGS. 2 a, 2 b and 2 c.

FIG. 3 is a simplified block diagram of a prior art memory system having a primary memory and cache memory.

FIG. 4 illustrates use of the circuits of FIGS. 2 a and 2 b for the cache memory of FIG. 3 connected to a deep learning processing element (DPE) of an AI system.

FIG. 5 shows signals for performing a write mask, according to an embodiment.

FIG. 6 a illustrates an 8b-DPE having 32 columns, and FIG. 6 b shows a detail of FIG. 6 a , according to an embodiment.

FIG. 7 shows circuitry applied to four main amplifiers (MAs) in FIG. 6 b for performing a write mask.

FIG. 8 shows circuitry for performing a data inversion utilizing charge shared level comparison with half Vdd when the 32 column 8b-DPE of FIG. 6 a is operating as a read cache.

FIG. 9 a . shows an alternate circuit for generating the half Vdd voltage, FIG. 9 b is an equivalent circuit thereof and FIG. 9 c is a resistance circuit thereof be simplified using small signal analysis.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

A conventional SRAM cell array is shown in FIG. 1 a, comprising a plurality of SRAM cells MC_(1,1 . . .) MC_(1,m . . .) MC_(n,1 . . .) MC_(n,m), to which binary data (dout, din) is read/written on BLs BT<0>/BB<0> . . . BT<m−1>/BB<m−1> via column precharge, multiplexers (column mux), and sense/write amplifiers ((S.A.) and W.A., respectively), in response to read/write signals on word lines WL<0> . . . WL<n−1>. The structures of the conventional column precharge multiplexer, column multiplexer and sense/write amplifiers are depicted in FIG. 1 b.

In FIGS. 1 a and 1 b, only one voltage domain is used for the column precharge multiplexer and sense/write amplifiers, namely Vdd. However, in the event the logic that generates din and receives dout operates in a different voltage domain (e.g. if the logic operates at 0.4V and the SRAM operates at 0.8V for 16 nm FinFET technology), a level shifter is required to convert the voltage from 0.4V to 0.8V before din is input to the W.A., because W.A. operates at 0.8V. A disadvantage of using such a level shifter is that it consumes considerable power and surface layout area.

According to exemplary embodiments, circuits for writing to an MC without a level shifter are shown in FIGS. 2 a and 2 b . In FIG. 2 a , din and /din are received from external logic in a first voltage domain (e.g. din=0.4V and /din=0 V) and are applied to a main amplifier (MA) via a gate WEi. After WEi turns off, MA amplifies the 0.4V and 0V signals in the first voltage domain to 0.8V and 0V, respectively, as shown in FIG. 2 d . GBL and /GBL are connected to BL and /BL, respectively, through transmission switches controlled by YL and /YL gate signals. A bitline precharge circuit is enabled by signal /PE_(BL), and a main amplifier precharge circuit is enabled by signal /PE_(MA). The MA in FIGS. 2 a and 2 b therefore functions as a write amplifier that includes level shifting functionality.

In the embodiment of FIG. 2 b , only din is received from the external logic. The complementary signal (/din) is generated by an inverter that is operated at 0.4V. After /din is generated, din and /din are amplified by MA and sent to BL and /BL, in the same way as the embodiment of FIG. 2 a.

An embodiment of the precharge circuit in FIGS. 2 a and 2 b , is shown in FIG. 2 c.

In the case of a data read, the read data passes from the MC to MA through the transmission gates upon application of gate control signals YL and /YL, and is amplified by MA for output as dout, which is level shifted to the 0.4V domain via an output inverter, as shown in FIGS. 2 a and 2 b.

In the simplified prior art memory system shown in the block diagram of FIG. 3 , a CPU communicates with cache memory and a primary memory, where the cache memory stores a portion of the data of the primary memory, and is commonly referred to as the cache line. In a single die (i.e. one chip), each of the cache memory and primary memory are SRAM. In FIG. 3 , the CPU communicates with the cache memory and primary memory over different bit line (BL) and global bit line (GBL) busses. The bus configuration and control in such a memory system can become complicated and consume layout area.

Therefore, as shown in FIG. 4 , the MA of FIGS. 2 a and 2 b can be used for the cache memory of FIG. 3 (i.e. MA₀₀ . . . MA₁₇), where each bitline BLi and complementary bitline /BLi are connected to a respective SRAM MC (FIGS. 2 a and 2 b ) and accessed via a WL that corresponds to the cache line in the memory system of FIG. 3 . As discussed above, in emerging memories such as AI systems, all the MCs along a selected WL are simultaneously read or written (for example from/to a Deep-learning Processing Element (DPE)). Thus, when operating as a write cache, write data is latched into the MA through the WEi transmission gate. Before each write, MA is reset or precharged by /PE_(MA) (see FIG. 2 c ) and then write data is input to MA through the WEi gate, and finally the write data is amplified by MA in response to enable signals MEi and /MEi. If the data needs to be written to the SRAM MC as well (i.e. a write-through cache), the write data amplified by MA is transferred to MC via the transmission gates upon receipt of the gate control signals YL and /YL and enabling the word line (WL). The MA cache retains the write data until it is next accessed.

When operating as a read cache, the read signal from the MC is applied to MA through transmission gates controlled by YL and /YL, and is amplified by MA as in conventional SRAM. Once MA amplifies the signal by application of the ME and /ME signals, it retains the data until the MA is next accessed. In order to keep MA active, the bit line precharge signal, /PE_(BL) is separate from the MA precharge signal, /PE_(MA), and the GBL and /GBL lines are separated from BL and /BL by the transmission gates controlled by YL and /YL.

FIG. 5 shows signals for performing a write mask, according to an embodiment, wherein MA₀₂ and MA₀₅ of FIG. 4 hold data (GBL₀₂, /GBL₀₂, GBL₀₅, /GBL₀₅) as a cache memory. Each DPE₀/DPE₁ shown in FIG. 4 writes/reads eight bits din and dout (8b-DPE) via eight MAs (MA₀₀˜MA₀₇), although in embodiments din and dout of a DPE and the number of MAs per DPE need not be restricted in number to eight. In normal write cache mode of operation, each MA must be written to. Before the MA is written to, the MA holds data as a cache memory. When the MA cache is renewed, GBL and /GBL are first reset by the /PE_(MA) signal. Then, the write data (in the 0.4V voltage domain), is written into MA through the WE control transistor. After that, ME activates MA to amplify the write data to the 0.8V voltage domain. In the case of a write mask, some of the MAs are not renewed or not written in write cache mode. For example, if MA₀₂ and MA₀₅ are to be masked, then MA₀₀, MA₀₁, MA₀₃, MA₀₄, MA₀₆ and MA07 are renewed or written with new data, while MA₀₂ and MA₀₅ retain the previous data. To realize the write mask, signals, WE, /PE_(MA), ME, /ME, are divided into eight signals corresponding to each MA, that is WE₀₀˜WE₀₇, /PE_(MA00)˜/PE_(MA07), ME₀₀˜ME₀₇, and /ME₀₀˜/ME₀₇. In the case where MA₀₂ and MA₀₅ are masked, WE₀₂, WE₀₅, /PE_(MA02), /PE_(MA05), ME₀₂, ME₀₅, /ME₀₂, and /ME₀₅ are not asserted so that MA₀₂ and MA₀₅ retain the previous data. The held data in MA₀₂ and MA₀₅ can then be re-written into the bit cell when the transmission gate controlled by YL and /YL is activated.

In some embodiments, for example in an AI chip, the layout area of the 8b-DPE can be widened to 32 columns width or 32 MAs width, as shown in FIG. 6 a , where an 8b-DPE is connected to 8 MAs with one MA selected from every four MAs and eight MAs selected and connected to one 8b-DPE, for 32 MAs in total. However, as discussed above, embodiments are not restricted to 8b-DPE, but are applicable to Nb-DPE, where N can be 4, 8, 16, and so on. FIG. 6 b shows a detail of FIG. 6 a for four MAs (MA₀, MA₁, MA₂, MA₃), according to an embodiment.

FIG. 7 shows circuitry applied to the four MAs (MA₀, MA₁, MA₂, MA₃) of FIG. 6 b for performing a write mask, where the write mask is applied to only one MA in each four-MA group. Two write data path are provided, that is, a regular din path which is input to the MA in normal mode where Write Mask Enable (WME) is not asserted, and a data path where WME is asserted. When WME is asserted (i.e. for write mask mode), the regular din path is closed, and data from the data latch is input into MA through the WME asserted transmission gate. The latched data is the read cache data held from the previous cycle. The latch holds data when ME turns off and the read cache is reset or the mask write cycle starts. The masked MA writes the previous data which has been held in the MA cache, using the latch data, so that the masked MA retains the read cache data during write cache mode. In this circuit, mask flexibility is limited to only one MA, however, only one /PE_(MA), four WE, four ME, and four /ME are needed, which is simpler compared to the circuit of FIG. 4 in which all eight WE, /PE, ME, /ME signals are needed for each.

As discussed above, when operating as a read cache, where the MA retains data until the MA is next accessed, the dout swing power can be reduced by inverting the dout data by utilizing a half Vdd voltage, as shown in the embodiment of FIG. 8 , where each dout charges up capacitance C₀ according to the S0 signal timing, and then each capacitance is shorted according to the S1 signal timing. At this stage, if the majority of the data on the dout lines is high (i.e. Vdd level), the charge is shared, and the shorted voltage will be larger than half Vdd. The shorted voltage is compared with half Vdd by the MA, and the resulting dout of the MA is selectively inverted by application of signals, sel and /sel which control respective gates to select either normal data or inverted data. Conventionally, if a majority of five out of eight dout lines is high, a combination of 8C5=57 logic gates is required, whereas the circuit of FIG. 8 using charge sharing and half Vdd comparison results in a much simplified circuit.

FIG. 9 a . shows an alternate circuit for generating the half Vdd voltage for the precharge circuit of FIG. 2 c , from the main on-chip supply voltage and for tracking changes in the main voltage supply with a minimum number of transistors so that it occupies minimal space on the chip. In the circuit of FIG. 9 a , devices M1 and M3 comprise a self-biased inverter and devices M2 and M4 are current sensing devices that are always turned on. An equivalent circuit of FIG. 9 a is shown in FIG. 9 b , which can be simplified using small signal analysis to a resistance circuit as shown in FIG. 9 c . The equivalent resistance can be calculated as follows:

$\begin{matrix} {R_{e1} = \frac{r_{2}r_{3}}{r_{2} + r_{3}}} & (1) \end{matrix}$ $\begin{matrix} {R_{e1} = {\frac{1}{r_{2}} + \frac{1}{r_{3}}}} & (2) \end{matrix}$ $\begin{matrix} {\frac{1}{R_{e1}} = {{gm}_{2} + {gds}_{3}}} & (3) \end{matrix}$

Therefore, Re1 is

$\begin{matrix} {\frac{1}{R_{e1}} = \frac{1}{{gm}_{2} + {gds}_{3}}} & (4) \end{matrix}$

Re2 can be calculated as

$\begin{matrix} {R_{e2} = \frac{r_{1}r_{4}}{r_{1} + r_{4}}} & (5) \end{matrix}$ $\begin{matrix} {\frac{1}{R_{e2}} = {\frac{1}{r_{1}} + \frac{1}{r_{4}}}} & (6) \end{matrix}$ $\begin{matrix} {\frac{1}{R_{e2}} = {{gds}_{1} + {gm}_{4}}} & (7) \end{matrix}$ $\begin{matrix} {R_{e2} = \frac{1}{{gds}_{1} + {gm}_{4}}} & (8) \end{matrix}$

Therefore, Vout is

$\begin{matrix} {{Vout} = {{Vdd}\frac{{gds}_{1} + {gm}_{4}}{{gds}_{1} + {gm}_{4} + {gm}_{2} + {gds}_{3}}}} & (11) \end{matrix}$

The output impedance is therefore

$\begin{matrix} {{Rout} = {\left( \frac{1}{{gm}_{1}} \right){{\left( \frac{1}{{gm}_{2}} \right){{\left( \frac{1}{{gm}_{3}} \right){\left( \frac{1}{{gm}_{4}} \right)}}}}}}} & (12) \end{matrix}$

From the foregoing it will be noted that the circuit of FIG. 9 a tracks the change in the main supply voltage and replicates the change at the output.

In terms of DC analysis, the sum of the currents through M2 and M3=the sum of currents through M1 and M4. Therefore

$\begin{matrix} {{I_{2} + I_{3}} = {I_{1} + I_{4}}} & (13) \end{matrix}$ $\begin{matrix} {I_{n} = {\left( \frac{1}{2} \right)\mu_{n}{{Cox}\left( \frac{W}{L} \right)}\left( {V_{gs} - V_{th}} \right)^{2}}} & (14) \end{matrix}$ $\begin{matrix} {I_{p} = {\left( \frac{1}{2} \right)\mu_{p}{{Cox}\left( \frac{W}{L} \right)}\left( {V_{sg} - {❘V_{thp}❘}} \right)^{2}}} & (15) \end{matrix}$

For equal impedance seen through NMOS and PMOS

$\begin{matrix} {{\mu_{n}{{Cox}\left( \frac{W}{L} \right)}_{1,2}} = {\mu_{p}{{Cox}\left( \frac{W}{L} \right)}_{3,4}}} & (16) \end{matrix}$

Therefore

(V _(DD) −V ₀ −V _(th2))²+(V _(DD) −V ₀ −|V _(thp3)|)²=(V ₀ −V _(th1))²+(V ₀ −|V _(thp4)|)²   (17)

If

V _(th2) =|V _(thp3) |=V _(th1) =|V _(thp4)|  (18)

Then neglecting body effect,

$\begin{matrix} {V_{O} = \frac{V_{DD}}{2}} & (19) \end{matrix}$

The many features and advantages of the invention are apparent from the detailed specification and, thus, it is intended by the appended claims to cover all such features and advantages of the invention that fall within the true spirit and scope of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope of the invention. 

1. A static random-access memory comprising: at least one six-transistor memory cell arranged between a first bitline, a second bitline and a word line; a bitline precharge circuit for precharging the first bitline and second bitline to a voltage of Vdd/2 prior to the at least one six-transistor memory cell receiving a word line signal; a main amplifier for receiving signals on data lines din and /din in a first voltage domain via a gate WEi; and a main amplifier precharge circuit for precharging the main amplifier in response to a signal /PE_(MA) such that the main amplifier amplifies signals in the first voltage domain to a second voltage domain.
 2. The static random-access memory of claim 1, wherein the first voltage domain is din=0.4V and /din=0 V and the second voltage domain is din=0.8V and /din=0 V.
 3. The static random-access memory of claim 1, further comprising a pair of transmission gates for connecting the first bitline and second bitline to global bit line busses GBL and /GBL, respectively, in response to YL and /YL gate signals, respectively.
 4. The static random-access memory of claim 3, wherein the main amplifier precharge circuit precharges the global bit line busses GBL and /GBL before the main amplifier receives signals on data lines din and /din and independently of the bitline precharge circuit precharging the first bitline and second bitline.
 5. The static random-access memory of claim 1, wherein the main amplifier functions as a write amplifier for amplifying a lower voltage on din to higher write voltage for writing to the at least one six-transistor memory cell.
 6. The static random-access memory of claim 4 wherein a plurality of six-transistor memory cells along a selected word line are simultaneously read or written, wherein the main amplifier also functions as a cache memory.
 7. The static random-access memory of claim 6, wherein the main amplifier amplifies read data on data line dout from the at least one six-transistor memory cell when accessed, and retains the data until the main amplifier is subsequently accessed.
 8. The static random-access memory of claim 6, wherein the main amplifier retains write data when accessed until the main amplifier is subsequently accessed again.
 9. The static random-access memory of claim 4, wherein the main amplifier is controlled by a write signal sequence of main amplifier precharge triggered by signal /PE_(MA), then writing data into the main amplifier triggered by enable signals ME and /ME, followed by the first bitline and second bitline being connected to the global bit line busses GBL and /GBL causing the main amplifier to operate as a write amplifier.
 10. The static random-access memory of claim 6, wherein enable signals ME and /ME are asserted in either standby or active modes and signal /PE_(MA) is asserted before the main amplifier starts reset, such that the main amplifier operates as a cache amplifier.
 11. The static random-access memory of claim 8, for use in a N-bit deep learning processing element (DPE) of an AI system, wherein signals /PE_(MA), WE, ME, and /ME are decoded by N and a plurality of which are asserted to turn on the main amplifier for write masked operation.
 12. A cache memory connected to an 8-bit deep learning processing element (DPE) having 32 columns of main amplifiers each according to the main amplifier claim 6, wherein one main amplifier of four is selected.
 13. A cache memory connected to a 4-bit deep learning processing element (DPE) having 16 columns of main amplifiers each according to the main amplifier claim 6, wherein one main amplifier of four is selected.
 14. The cache memory of claim 12, wherein data written to the main amplifier is selected either from din or latched data depending on assertion of a write mask enable signal WME.
 15. The cache memory of claim 14, wherein one latch is provided every four main amplifiers for latching read data of one of the four main amplifiers when an enable signal is de-asserted.
 16. The static random-access memory of claim 6, having a plurality of groups of main amplifiers, wherein the read data on dout from each group of main amplifiers charges up a capacitance C₀ in response to an S0 timing signal which is then shorted to a plurality of shared capacitances equal in number to the plurality of said groups of main amplifiers in response to a S1 timing signal, and wherein a shorted voltage across the plurality of shared capacitances is compared with the Vdd/2 voltage.
 17. A circuit for generating a half Vdd voltage from a main on-chip supply voltage Vdd/Vss comprising series connected transistors M1 and M2 in parallel with series connected transistors M3 and M4, connected between Vdd and Vss, with the half Vdd voltage output from a node connecting transistors M1, M2, M3 and M4, wherein transistors M1 and M3 function as a self-biased inverter and transistors M2 and M4 function as current sensing transistors.
 18. The static random-access memory of claim 6, having a plurality of groups of main amplifiers, wherein the read data on dout from each group of main amplifiers charges up a capacitance C₀ in response to an S0 timing signal which is then shorted to a plurality of shared capacitances equal in number to the plurality of said groups of main amplifiers plus one in response to a S1 timing signal, and wherein a shorted voltage across the plurality of shared capacitances is compared with the Vdd/2 voltage. 